This invention relates to data transfer systems in general, and more particularly, to serial loop data transfer systems in which data is transmitted in one direction around a loop transmission means.
Loop data transfer systems have been known for several years and several control techniques have been devised in order to allow a master terminal or controller to communicate with a plurality of I/O terminals connected to the loop. One advantageously simple technique involves a form of time division multiplexing in which various time slots are permanently assigned to I/O terminals. Messages to and from I/O terminals are transmitted in the permanently assigned time slots. It is apparent that such a system is relatively inefficient for interactive I/O terminals since the communications capacity of a permanently assigned time slot is wasted during periods of inactivity of the associated I/O terminal.
To allow other terminals to use time slots not being used, addressed message communications systems have been developed wherein data is preceded by the address of the receiving terminal. These systems are also inefficient because bandwidth is consumed in transmission of addresses which would otherwise be available for data transmission. Furthermore, contention problems arise wherein two or more terminals attempt to transmit at the same time. Contention has been resolved by having the master terminal poll each of the I/O terminals for messages or by hub polling wherein each I/O terminal, after being polled, polls the next I/O terminal. These polling procedures likewise reduce bandwidth available for data transmission and further complicate the communication system.
Protocols used on existing serial busses such as SDLC, Bi-Sync or various other asynchronous polling protocols require considerable program memory and processor overhead at the host processor. Also, the systems are designed around block transfer which prevents the interleaving or simultaneous data transfer to more than one I/O device at a given time block.